package com.ruoyi.project.warehouse.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Classname RyDepotItemVo
 * @Description TODO
 * @Date 2022/9/6 21:46
 * @Created by You
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RyDepotItemVo {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 单据Id */
//    @Excel(name = "单据Id")
    private Long headerId;

    /** 仓库ID */
//    @Excel(name = "仓库ID")
    private Long depotId;

    /** 仓库 */
    @Excel(name = "仓库名称")
    private String depotName;

    /** 商品Id */
//    @Excel(name = "商品Id")
    private Long inventoryId;

    /** 商品Id */
    @Excel(name = "商品名称")
    private String inventoryName;

    /** 商品Id */
    @Excel(name = "商品首字母")
    private String firstLetter;

    /** 规格 */
//    @Excel(name = "规格")
    private String specifications;

    /** wbs编码 */
//    @Excel(name = "wbs编码")
    private String wbs;

    /** 品牌 */
//    @Excel(name = "品牌")
    private String brand;

    /** 图片 */
//    @Excel(name = "图片")
    private String images;

    /** 单位 */
//    @Excel(name = "单位")
    private String unit;

    /** 单价(元) */
//    @Excel(name = "单价(元)")
    private BigDecimal unitPrice;

    /** 数量 */
    @Excel(name = "数量(入库/出库/锁定)")
    private Double operNumber;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal allPrice;

    /**当前数量*/
    @Excel(name = "当前库存")
    private Double currentNumber;

    /**锁定数量*/
    private Double lockNumber;

    /** 调拨时，对方仓库Id */
    private Long anotherDepotId;

    /** 类别：0入库/1出库/2锁定 */
    @Excel(name = "类别：0入库/1出库/2锁定")
    private String headerType;

    /** 锁定状态:0锁定1取消 */
    @Excel(name = "锁定状态:0锁定1取消")
    private String lockStatus;

    /** 税率 */
    private BigDecimal taxRate;

    /** 税额 */
    private BigDecimal taxMoney;

    /** 价税合计 */
    private BigDecimal taxLastMoney;

    /** 序列号列表 */
    private String snList;

    /** 批号 */
    private String batchNumber;

    /** 有效日期 */
    private Date expirationDate;

    /** 操作时间： 入库时间/出库时间/锁定时间 */
    @Excel(name = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operTime;

    /** 关联明细id */
    private Long linkId;

    /** 租户id */
    private Long tenantId;

    /** 备注 */
    private String remark;

    /** 删除标记，0未删除，1删除 */
    private String delFlag;

    /** 标识码，如果关联项目就不可在入库页面修改记录；如果是在审核中的记录也不可修改 */
    private String status;

    /** 记录关联的项目名 */
    private String projectName;

    /** 记录关联的项目编号 */
    private String projectCode;

    /** 出入库记录创建修改时间 */
    private Date updateTime;

}
